//
//  AliMNSCommon.h
//  AlibabaCloudMNSiOS
//
//  Created by David Chen on 28/03/2017.
//  Copyright © 2017 AliCloud. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface AliMNSCommon : NSObject
{
    NSString* QUEUES;
    NSString* MESSAGES;
    NSString* TOPICS;
    NSString* SUBSCRIPTIONS;
    NSString* DATE_FORMATTOR;
    NSString* XMLNS;
    NSString* XML_VERSION_STR;
}
@property NSString* QUEUES;
@property NSString* MESSAGES;
@property NSString* TOPICS;
@property NSString* SUBSCRIPTIONS;
@property NSString* DATE_FORMATTOR;
@property NSString* XMLNS;
@property NSString* XML_VERSION_STR;

+ (AliMNSCommon*) getInstance;

- (instancetype) init;

+ (NSString *)base64Md5ForData:(NSData *)data;

+ (NSData*)calcMD5:(NSData*) inputData;

+ (NSString*)base64ForData:(uint8_t *)input length:(int32_t)length;

+ (NSString*) getDateString:(NSString*) formatterStr
               withTimezone:(NSString*) timeZone;

+ (NSString*) getSignature:(NSMutableDictionary*) headers
                withMethod:(NSString*) method
                   withURI:(NSString*) uri
              withAccessId:(NSString*) aId
             withAccessKey:(NSString*) aKey;

@end
